# 单例模式: 确保一个类只有一个实例,并提供一个全局访问点
# 单例模式: 一个特殊的类, 只存在一个实例
# 单例模式: 节省内存空间
# 单例模式: 线程安全问题
# 实现方式 1: 通过@classmethod装饰器实现
# 实现方式 2: 通过装饰器实现
# 实现方式 3: 通过重写 __new__方法实现
# 实现方式 4: 通过模块实现

# 实现方式 4: 通过模块实现
# 模块本身就是一个单例, 因为模块在导入时只会被加载一次
from py_15_module import person as p1
from py_15_module import person as p2

print(p1)
print(p2)
print(p1 is p2)  # True, p1和p2是同一个实例
